package com.ks.user.entity;

import java.io.Serializable;

import com.baomidou.mybatisplus.enums.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableName;
import java.io.Serializable;

import com.baomidou.mybatisplus.annotations.Version;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 日志-用户日常操作记录
 * </p>
 *
 * @author kingdee123
 * @since 2020-12-30
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("log_operatelog")
public class LogOperatelog extends Model<LogOperatelog> {

    private static final long serialVersionUID = 1L;

    /**
     * 主键Id
     */
    @TableId(value = "ID", type = IdType.AUTO)
    private Integer id;
    /**
     * 操作名称（在代码中定义，一般命名为业务操作时看到的操作按钮的名称）
     */
    @TableField("actionName")
    private String actionName;
    /**
     * 应用模块名称
     */
    @TableField("applicationName")
    private String applicationName;
    /**
     * 操作的主数据的名称
     */
    @TableField("mainDataId")
    private Integer mainDataId;
    /**
     * 操作的主数据类型（以表名命名）
     */
    @TableField("mainDataType")
    private String mainDataType;
    /**
     * 存放操作所涉及到的入参
     */
    @TableField("parameter")
    private String parameter;
    /**
     * 备注（存放操作日志中需要保留的重要数据）
     */
    @TableField("remark")
    private String remark;
    /**
     * 创建时间
     */
    @TableField("createTime")
    private Date createTime;
    /**
     * 创建人
     */
    @TableField("createUserID")
    private Integer createUserID;
    /**
     * 租户代码
     */
    @TableField("tenantID")
    private Integer tenantID;
    /**
     * 组织代码
     */
    @TableField("orgID")
    private Integer orgID;
    /**
     * 机构代码
     */
    @TableField("orgSubID")
    private Integer orgSubID;
    /**
     * 更新时间
     */
    @TableField("updateTime")
    private Date updateTime;
    /**
     * 更新人
     */
    @TableField("updateUserID")
    private Integer updateUserID;
    /**
     * 删除标识
     */
    @TableField("delMark")
    private Integer delMark;
    /**
     * 版本（用于进行写冲突控制）每次更新数据本字段加1
     */
    @TableField("version")
    private Long version;
    /**
     * 数据类型(SYS，TENANT)，表示此数据属于租户数据还是系统数据
     */
    @TableField("dataType")
    private String dataType;


    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
